package cn.ruanyun.backInterface.modules.fadada.service;

import cn.ruanyun.backInterface.common.vo.Result;
import cn.ruanyun.backInterface.modules.fadada.pojo.MyContractSigning;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.ruanyun.backInterface.modules.fadada.pojo.MyContractSigningCheck;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 我的合同签署审核接口
 * @author z
 */
public interface IMyContractSigningCheckService extends IService<MyContractSigningCheck> {


    /**
     * 插入或者更新myContractSigningCheck
     * @param myContractSigningCheck myContractSigningCheck
     */
    void insertOrderUpdateMyContractSigningCheck(MyContractSigningCheck myContractSigningCheck);


    /**
     * @return 获取我的合同审核最新的一个
     */
    Result<MyContractSigningCheck> getMyContractDetail();


    /**
     * 后台审核
     * @param code code
     * @param checkReason code
     * @return Object
     */
    Result<Object> checkMyContractSigningCheck(Integer code, String checkReason, String id);


    /**
     * 法大大乙方回调地址
     * @param request request
     * @return String
     */
    String fadadaPartyTwoNotify(HttpServletRequest request) throws Throwable;


    /**
     * 法大大甲方回调地址
     * @param request request
     * @return String
     */
    String fadadaOneNotify(HttpServletRequest request) throws Throwable;


    /**
     * 合同归档
     * @param id id
     * @return Object
     */
    Result<Object> contractFilling(String id);

    /***
     * 合同审核列表
     * @param myContractSigning
     * @return
     */
    List pcGetmyContractSigning(MyContractSigning myContractSigning);

}